version 18.5
set scheme plottig

*Load dataset
use data_wide, clear

* DROP ALL WITH LOW-COMPREHENSION
* Keeps only respondents who passed all comprehension checks (wlc_p_4)
keep if wlc_p_4


**# A.1: Do results vary by experimental condition?
* Regress ACGM on treatment, party left-right position, and control variables to generate variable to keep a constant sample across models based on available observations
regress acgm i.psys i.treat lrpart i.agecat2 i.educat i.fem lincome
generate useobpart = e(sample)
* Regress ACGM on treatment, left-right self-placement, and control variables to generate variable to keep a constant sample across models based on available observations
regress acgm i.psys i.treat lrpers i.agecat2 i.educat i.fem lincome
generate useobpers = e(sample) 

*** MODELS WITH PARTY'S LEFT-RIGHT MARPOR SCORE
* Model 1: Treatment and Party-Left-Right position effect on ACGM without controls (except for experiment)
eststo m1: regress acgm i.treat##c.lrpart i.psys if useobpart == 1, robust

* Model 2: Adding control variables for demographic factors
eststo m2: regress acgm i.treat##c.lrpart i.psys i.agecat2 i.educat i.fem lincome if useobpart == 1, robust

* Model 3: Including interaction between Party System Context and party left-right position
eststo m3: regress acgm i.treat##c.lrpart i.psys##c.lrpart i.agecat2 i.educat i.fem lincome if useobpart == 1, robust

* Export regression results in RTF format for publication
esttab m1 m2 m3 using "models123treat", rtf replace b(2) p(2) r2 ar2 aic obslast label mtitles("Model 1" "Model 2" "Model 3")

*** MODELS WITH LEFT-RIGHT SELF-PLACEMENT
* Model 4 like Model 1 with left-right self-placement (lrpers) instead of party left-right
eststo m4: regress acgm i.treat##c.lrpers i.psys  if useobpers == 1, robust

* Model 5: Adding demographic control variables
eststo m5: regress acgm i.treat##c.lrpers i.psys i.agecat2 i.educat i.fem lincome if useobpers == 1, robust
vif  // Check for multicollinearity

* Model 6: Interaction between Party System Context and left-right self-placement
eststo m6: regress acgm i.treat##c.lrpers i.psys##c.lrpers i.agecat2 i.educat i.fem lincome if useobpers == 1, robust

* Export regression results for Models 4, 5, and 6
esttab m4 m5 m6 using "models456treat", rtf replace b(2) p(2) r2 ar2 aic obslast label mtitles("Model 4" "Model 5" "Model 6")



**# A.2 Quota Fulfilment
*Based on quota statistics provided by respondi/Bilendi


**# A.4 Additional description of the Dependent Variable
* R1.3 Graph of the Distribution of the Dependent Variable
violinplot acgm, over(psys) left rag(stack right msymbol(o) offset(-.05)) colors(plottig) vertical pdf(ll(0) ul(100)) plotregion(color(none)) 

*Summary Statistics for the dependent variable 
asdoc tabstat acgm, by(psys) stat(min p25 p50 p75 max  mean sd N)

**# A.5 Regression tables of main analysis
* See main analysis file for 
*MARPOR Left-Right Score: Full regression tables to Table 2
*Left-Right Self-Placement: Full regression tables to Table 3


**# A.6 Robustness Check Using Further MARPOR and CHES Indicators
* Model 1: Treatment and Party-Left-Right position effect on ACGM without controls (except for experiment)
eststo m1: regress acgm i.treat i.psys lrpart if useobpart == 1, robust

* Model 2: Adding control variables for demographic factors
eststo m2: regress acgm i.treat i.psys lrpart i.agecat2 i.educat i.fem lincome if useobpart == 1, robust
vif  // Check for multicollinearity

* Model 3: Including interaction between region and party left-right position
eststo m3: regress acgm i.treat i.psys##c.lrpart i.agecat2 i.educat i.fem lincome if useobpart == 1, robust
* Marginal effects of left-right position by region
margins, dydx(lrpart) at(psys = (0 1 2))


*** MODELS WITH MARPOR welfare
* Model 1: Treatment and Party MARPOR welfare position effect on ACGM without controls (except for experiment)
eststo m1a: regress acgm i.treat i.psys swelfare if useobpart == 1, robust

* Model 2: Adding control variables for demographic factors
eststo m2a: regress acgm i.treat i.psys swelfare i.agecat2 i.educat i.fem lincome if useobpart == 1, robust
vif  // Check for multicollinearity

* Model 3: Including interaction between region and party MARPOR welfare position
eststo m3a: regress acgm i.treat i.psys##c.swelfare i.agecat2 i.educat i.fem lincome if useobpart == 1, robust
* Marginal effects of MARPOR welfare position by region
margins, dydx(swelfare) at(psys = (0 1 2))

* Plot marginal effects with confidence intervals and custom labels
marginsplot, yline(0) name(swelfarem, replace) ylabel(#6) /// 
xtitle(Region) graphregion(margin(large)) scale(1.2)


*** MODELS WITH MARPOR markeco
* Model 1: Treatment and MARPOR markeco position effect on ACGM without controls (except for experiment)
eststo m1b: regress acgm i.treat i.psys smarkeco if useobpart == 1, robust

* Model 2: Adding control variables for demographic factors
eststo m2b: regress acgm i.treat i.psys smarkeco i.agecat2 i.educat i.fem lincome if useobpart == 1, robust

* Model 3: Including interaction between region and party MARPOR markeco position
eststo m3b: regress acgm i.treat i.psys##c.smarkeco i.agecat2 i.educat i.fem lincome if useobpart == 1, robust
* Marginal effects of MARPOR markeco position by region
margins, dydx(smarkeco) at(psys = (0 1 2))

* Plot marginal effects with confidence intervals and custom labels
marginsplot, yline(0) name(smarkecom, replace) yscale(r(5 -45)) ylabel(#6) xtitle(Region) graphregion(margin(large)) scale(1.2)


*** MODELS WITH CHES slrgen

*** MODELS WITH CHES slrgen
* Model 1: Treatment and CHES Party-Left-Right position effect on ACGM without controls (except for experiment)
eststo m1c: regress acgm i.treat i.psys slrgen if useobpart == 1, robust

* Model 2: Adding control variables for demographic factors
eststo m2c: regress acgm i.treat i.psys slrgen i.agecat2 i.educat i.fem lincome if useobpart == 1, robust

* Model 3: Including interaction between region and CHES party left-right position
eststo m3c: regress acgm i.treat i.psys##c.slrgen i.agecat2 i.educat i.fem lincome if useobpart == 1, robust
* Marginal effects of CHES left-right position by region
margins, dydx(slrgen) at(psys = (0 1 2))

* Plot marginal effects with confidence intervals and custom labels
marginsplot, yline(0) name(slrgenm, replace) ylabel(#6) xtitle(Region) graphregion(margin(large)) scale(1.2)

*** MODELS WITH CHES lrecon
* Model 1: Treatment and Party CHES lrecon position effect on ACGM without controls (except for experiment)
eststo m1d: regress acgm i.treat i.psys slrecon if useobpart == 1, robust

* Model 2: Adding control variables for demographic factors
eststo m2d: regress acgm i.treat i.psys slrecon i.agecat2 i.educat i.fem lincome if useobpart == 1, robust

* Model 3: Including interaction between region and party CHES lrecon position
eststo m3d: regress acgm i.treat i.psys##c.slrecon i.agecat2 i.educat i.fem lincome if useobpart == 1, robust
* Marginal effects of CHES lrecon position by region
margins, dydx(slrecon) at(psys = (0 1 2))

* Plot marginal effects with confidence intervals and custom labels
marginsplot, yline(0) name(slreconm, replace) ylabel(#6) xtitle(Region) graphregion(margin(large)) scale(1.2)

*** MODELS WITH CHES sgaltan
* Model 1: Treatment and Party CHES sgaltan position effect on ACGM without controls (except for experiment)
eststo m1e: regress acgm i.treat i.psys sgaltan if useobpart == 1, robust

* Model 2: Adding control variables for demographic factors
eststo m2e: regress acgm i.treat i.psys sgaltan i.agecat2 i.educat i.fem lincome if useobpart == 1, robust

* Model 3: Including interaction between region and party CHES sgaltan position
eststo m3e: regress acgm i.treat i.psys##c.sgaltan i.agecat2 i.educat i.fem lincome if useobpart == 1, robust
* Marginal effects of CHES sgaltan position by region
margins, dydx(sgaltan) at(psys = (0 1 2))

* Plot marginal effects with confidence intervals and custom labels
marginsplot, yline(0) name(sgaltanm, replace) ylabel(#6) xtitle(Region) graphregion(margin(large)) scale(1.2)



esttab m1 m1a m1b m1c m1d m1e using "model1-ALTCHES", rtf replace b(2) p(2) r2 ar2 aic obslast label

esttab m2 m2a m2b m2c m2d m2e using "model2-ALTCHES", rtf replace b(2) p(2) r2 ar2 aic obslast label

esttab m3 m3a m3b m3c m3d m3e using "model3-ALTCHES", rtf replace b(2) p(2) r2 ar2 aic obslast label

**# A.7 Exploratory Analysis of Social Trust, Economic and Cultural Orientations and Solidarity Behaviour
* See main analysis file
